// components/tabs/tabs.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 接受父组件传递给子组件的值
    aaa:{
      type:String,
      value:'xxx'
    },

    tabs2:{
      type:Array,
      value:[]
    }

  },

  /**
   * 组件的初始数据
   */
  data: {
    // 不推荐
    // tabs2:[]

  

  },


 

  // 组件里面所有的方法都需要放到methods里面
  /**
   * 组件的方法列表
   */
  methods: {
    /**
     * 1 绑定点击事件 
     * 2 找到对应点击的item的索引  
     * 3  让对应的item里面的isActive 为true  其他的为false 
     * 4   子组件向父组件传递值   
      this.triggerEvent('第一个参数是自定义事件的名字','第二个参数是需要传递的值')
     * 5  父组件自己去做这个事件   改变完后 把 新生生成的tabs 重新赋值 
     * 
     */
    
    // 1 绑定点击事件 
    // selectHandler(e){
    //   // console.log(111)
    //   console.log(e)
    //   // 2 找到对应点击的item的索引  
    //   let {index}=e.currentTarget.dataset

    //   let {tabs}=this.data
    //   // let  mytabs=this.data.tabs

      
    //   tabs.forEach((v,i)=>i==index? v.isActive=true:v.isActive=false)
    //   this.setData({
    //     // tabs:tabs
    //     tabs
    //   })

    // },



  
    selectHandler(e){

      let {index}=e.currentTarget.dataset
      // let {tabs2}=this.data
      //   tabs2.forEach((v,i)=>i==index? v.isActive=true:v.isActive=false)
      // this.setData({
       
      //   tabs2
      // })

      //子组件向父组件传递值   
      // this.triggerEvent('第一个参数是自定义事件的名字','第二个参数是需要传递的值')
      this.triggerEvent('changeItem',{index})
    }

  }
})
